java如何在所有JUnit测试中集成Spring Instrument javaagent
我正在一个大型项目上编写单元测试,我需要将JVM参数传递给它,这些是我在该项目的Eclipse运行配置中内置的JVM参数:
--module-path lib/javafx-sdk-13.0.2/lib --add-modules=javafx.controls
-javaagent:lib/aspectjweaver-1.9.5.jar
-javaagent:lib/spring-instrument-5.2.3.RELEASE.jar
我的问题是,我需要为每个JUnit测试或测试序列添加这些参数。有更好的方法吗?有什么办法不必在我创建的每个新测试中手动添加这些参数
******编辑******
这也有一个讨厌的副作用,那就是根本不让我建立这个项目!Maven不使用我的定制JUnit run config来运行应用程序的整个测试集(这很好,因为我在其中设置了JVM参数),而是使用它自己的配置,这显然是失败的,因为参数不在那里。这是一个巨大的问题,有没有办法将这些JVM参数直接“硬编码”到POM中
******编辑2******
这是我POM中的Spring Boot Maven插件配置。xml文件:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
<configuration>
<jvmArguments>
--module-path lib/javafx-sdk-13.0.2/lib
--add-modules=javafx.controls
-javaagent:lib/aspectjweaver-1.9.5.jar
-javaagent:lib/spring-instrument-5.2.3.RELEASE.jar
</jvmArguments>
</configuration>
</plugin>
*******解决方案******
添加Maven Surefire插件并以这种方式设置,解决了这个问题:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>test</goal>
</goals>
</execution>
</executions>
<configuration>
<argLine>
--module-path lib/javafx-sdk-13.0.2/lib
--add-modules=javafx.controls
-javaagent:lib/aspectjweaver-1.9.5.jar
-javaagent:lib/spring-instrument-5.2.3.RELEASE.jar
</argLine>
</configuration>
</plugin>
谢谢
共 (0) 个答案